"Syntax error near unexpected token `done'" est un message d'erreur courant dans les scripts shell sous Linux ou UNIX. Ce message d'erreur apparaît lorsque la syntaxe du script shell n'est pas correcte, généralement lors de l'utilisation incorrecte de la structure de contrôle "while" ou "for".
Ce message d'erreur peut également indiquer qu'il manque un mot clé, un caractère de ponctuation ou une parenthèse fermante dans le script shell.
Par exemple, voici un script shell incorrect qui génère cette erreur :
#!/bin/bash
counter=0
while [$counter -lt 10]
do
echo $counter
counter=$((counter+1))
done
Dans cet exemple, il manque des espaces autour de l'opérateur de comparaison "-lt" dans la condition de la boucle "while". Pour corriger cette erreur, il suffit d'ajouter des espaces :
#!/bin/bash
counter=0
while [ $counter -lt 10 ]
do
echo $counter
counter=$((counter+1))
done
Le message d'erreur "Syntax error near unexpected token `done'" est donc une indication qu'il y a une erreur de syntaxe dans le script shell, généralement à proximité du mot clé "done" qui marque la fin d'une boucle ou d'une instruction de contrôle. Il est important de vérifier attentivement la syntaxe du script et de s'assurer que toutes les ouvertures de parenthèses, les guillemets ou les caractères spéciaux sont correctement fermés ou échappés.
Ne Demek sitesindeki bilgiler kullanıcılar vasıtasıyla veya otomatik oluşturulmuştur. Buradaki bilgilerin doğru olduğu garanti edilmez. Düzeltilmesi gereken bilgi olduğunu düşünüyorsanız bizimle iletişime geçiniz. Her türlü görüş, destek ve önerileriniz için iletisim@nedemek.page